1. Field of the Invention
The present invention relates generally to a computer user interface and, more particularly, to the display and control of dialog boxes in a computer user interface.
2. Related Art
A common technique for presenting information to users of computer-based systems is through use of a graphical user interface (GUI). A graphical user interface is typically part of an environment provided by an operating system executed by a processor in the computer system. Generally, the GUI is controlled by the operating system in response to commands provided by a user and application programs or other processes executing on or accessible to the computer-based system.
Common to virtually all conventional GUIs is the use of a mouse or other pointing device in a windowed environment. Windows are rectangular areas presented on a display that contain textual and/or graphical information related to the operation of the application program, operating system or other processes. Generally, additional display elements are provided by the GUI to facilitate interactions with the windows. These include, for example, menus, title bars, buttons, select boxes and icons. For a more detailed explanation of the operation of GUIs in general and Windows.RTM. in particular, see "Microsoft Windows version 3.1 User's Guide," and "Microsoft Windows 95 User's Guide," available from Microsoft, Inc.
In this environment, the user interacts with the computer by using a keyboard and/or by manipulating the cursor displayed on the GUI with a pointing device. To enter information into the computer system, a user typically interacts with a displayed window. In addition, under certain circumstances a "dialog box" is displayed on the GUI to enable the user to enter specific information into the computer system. Dialog boxes are special windows presented on the GUI to facilitate providing inputs to the computer to control application programs or other processes occurring within or accessible to the computer system. Dialog boxes generally present logically related control input display elements, such as fields for numeric or text entry, icons, select boxes, buttons and a myriad of other known display elements that enable a user to set parameters or otherwise effect control of the desired process or system.
The manner in which the computer user interface is controlled with respect to the display of dialog boxes is referred to herein as "dialog box modality." Conventional operating systems such as Windows 95.RTM. provide application programs and other processes with the ability to invoke two dialog box modalities. Each modality provides a different computer user interface environment with respect to the display and control of an invoked or activated dialog box. These two conventional dialog box modalities are commonly referred to as the "modal" and the "modeless" dialog box modalities.
Dialog boxes presented in accordance with the modal dialog box modality operate such that once the dialog box is invoked it is displayed as the active dialog box. An active dialog box is a dialog box that is established to receive user inputs. In some systems, when multiple dialog boxes are displayed, the inactive dialog box(es) is/are displayed with a reduced intensity, highlighting the one active dialog box. Thereafter the active dialog box must be explicitly closed by the user before other GUI display elements are made accessible to the user. On the other hand, dialog boxes that are invoked in accordance with the modeless dialog box modality operate such that the user can access other elements of the GUI without having to close the active dialog box. This includes the ability to select display elements that cause other dialog boxes to be invoked, the ability to make such other dialog boxes the active dialog box, as well as to perform other operations on the GUI unrelated to the displayed dialog box(es).
These traditional approaches to controlling dialog box display and concurrent system interactivity have a significant number of drawbacks limiting the user's ability to fully utilize the implementing computer-based system. For example, the modal dialog box modality prevents the user from interacting with other components of the GUI and other user interfaces while a dialog box is displayed. This is problematic in that the user often needs to access other system components prior to the completion of entering control information into the active dialog box.
To do this, the user must first close the active dialog box. This may be accomplished by any one of many known techniques. For example, the user may close the dialog box by selecting an "OK" or "Enter" selection button, either one of which results in the application of the entered control information to the implementing computer system. Use of these and other methods for closing a dialog box in a manner that instructs the operating system that the entered control information and selections are to be applied to the implementing computer system when the dialog box is closed, is referred to herein as selectively closing the dialog box. Alternatively, the user may close the dialog box by selecting the "Cancel or "Close" selection buttons or by selecting a "Close" or "Exit" menu item or the like, any one of which results in any control inputs entered into the dialog box to not be applied to the implementing computer system. These and other methods for closing a dialog box in a manner that instructs the operating system that the entered control information and selections are not to be applied to the implementing computer system when the dialog box is closed is referred to herein as non-selectively closing the dialog box. Once the dialog box is closed, the user can then access the desired window or other user interface element to obtain the desired information. Then, the dialog box can be reselected and displayed to enable the user to continue to enter in additional or modified control information.
For example, a user may need to access a displayed window on the GUI to obtain additional information for determining the values of the control information that are to be provided through the dialog box. However, such windows are not currently displayed or there are multiple windows simultaneously displayed and the control information requested by the dialog box is related to information displayed in a window that is currently overlayed and, therefore, not visible to the user. A similar problem arises when the information requested by the dialog box cannot be provided by the user with the required precision. The resulting effect from the application of a first set of control input values to the controlled process or system must be observed. Then additional or modified control inputs can be provided by the user and applied to the process or system as necessary. As a result, when the relationship between the desired control adjustments and system operations is complex, an iterative process may occur, with the user entering control information into a dialog box, closing the dialog box, making observations or performing related control adjustments, and then reinvoking the dialog box to make further control adjustments. This is highly inefficient and very frustrating for the user.
The modeless dialog box modality provides an interface environment that overcomes the above drawbacks to the modal dialog box modality. This is because, as noted, the modeless dialog box modality does not restrict the user's access to other GUI display elements beyond an active dialog box. However, there are many drawbacks to this modality as well.
First, this dialog box modality often results in significant display clutter. A user may simultaneously open as many dialog boxes as desired and enter control information therein. The user may select a different active dialog box among the open dialog boxes simply by selecting a desired dialog box with the cursor and pointing device. However, dialog boxes are typically positioned so as to at least partially overlay the window with which they are associated. Simultaneous display of multiple such dialog boxes eventually obscures visibility of the underlying window. This may occur more readily in those computer-based systems such as instruments which have small display screens. A display of a single dialog box covers a substantial portion of such display screens. Thus, in systems implementing the modeless dialog box modality, the user must close each dialog box prior to proceeding to open another to avoid display clutter. Otherwise, the user must eventually close the open dialog boxes that are displayed on the GUI. To do this, the user must make each dialog box the active dialog box, and then selectively or non-selectively close that dialog box. This has been found to interfere with the activities of more advanced users of the implementing computer-based system as time and effort is diverted from performing desired operations to managing the graphical user interface.
What is needed, therefore, is an apparatus and method of controlling a graphical user interface with respect to dialog boxes such that the user is provided with a desired degree of interactivity with the GUI without unnecessarily cluttering the display. Such an environment should also provide such a dialog box modality with a limited user involvement to eliminate the time and effort associated with managing the graphical user interface.